package scheduler

import "spider/concurrent2/parser"

// 定义调度器接口
type Scheduler interface {
    Submit(parser.Request)
    // SetMasterWorkerChan这个方法只有simple Scheduler会用到，代码难看且无复用性，所以我们需要重构SetMasterWorkerChan:
    // 相同点在于需要的都是request channel，
    // 所以重构出发点在找到谁知道，我们worker公用request channel，还是单独持有request channel => 答案是scheduler(调度器)知道，所以将request channel的分配交给调度器
    // SetMasterWorkerChan(chan  parser.Request)
    WorkerRequestChan() chan parser.Request
    
    WorkerReady(chan parser.Request)
    Run()
}

